<?php

namespace app\bll;

use Exception;
use support\Db;

class  SyscnfUcenter
{
    /**
     * 查找
     *
     * @return null|array
     */
    public function find(): null|array
    {
        $data =  Db::table('frame_syscnf_ucenter')
            ->where('id', '>', 0)
            ->first();
        return $data === null ? [] : get_object_vars($data);
    }

    /**
     * 判断是否存在
     *
     * @return boolean
     */
    public function exit(): bool
    {
        $info = $this->find();
        return $info  && count($info) > 0;
    }

    /**
     * 添加
     *
     * @param array $data
     * @return integer
     */
    public function add(array $data): int
    {
        return Db::table('frame_syscnf_ucenter')
            ->insertGetId($data);
    }

    /**
     * 编辑
     *
     * @param array $data
     * @param integer $id
     * @return integer
     */
    public function edit(array $data, int $id): int
    {
        return  Db::table('frame_syscnf_ucenter')
            ->where('id', $id)
            ->update($data);
    }

    /**
     * 保存自动判断编辑和新增
     *
     * @param array $data
     * @return integer
     */
    public function save(array $data): int
    {
        try {
            $origindata = $this->find();
            if (!$origindata) {
                return $this->add($data);
            } else {
                return $this->edit($data, $origindata['id']);
            }
        } catch (Exception $ex) {
            throw $ex;
        }
    }
}
